Skip to content

Validate Yarn lockfile selectors - #14663

Merged
Sean McManus (sean-mcmanus) merged 2 commits into
mainfrom
seanmcm/devbox2-wsl/agent3/validate-yarn-lock-selectors
Aug 11, 2026
Merged

Validate Yarn lockfile selectors#14663
Sean McManus (sean-mcmanus) merged 2 commits into
mainfrom
seanmcm/devbox2-wsl/agent3/validate-yarn-lock-selectors

Conversation

@sean-mcmanus

Copy link
Copy Markdown
Contributor

Summary

Add static, pre-install validation that checks dependency and resolution selectors from Extension/package.json are represented in Extension/yarn.lock. Run focused fixture tests and current-manifest validation before dependency installation in the shared compile-and-test workflow, catching stale resolution selectors that Yarn Classic's --frozen-lockfile accepts.

This PR was investigated and created by GitHub Copilot in VS Code. Any message starting with ✨Copilot: was sent by Copilot.

Testing

  • yarn test-yarn-lock
  • yarn verify-yarn-lock
  • yarn eslint --report-unused-disable-directives src test ui .scripts
  • Verified the validator reports exactly fast-uri@^3.1.5 for the historical malformed state from 7777353
  • git diff --check origin/main...HEAD

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a small Node-based validator to ensure dependency/resolution selectors declared in Extension/package.json are actually present as selectors in Extension/yarn.lock, and wires it into CI to catch stale selectors that Yarn Classic may not fail on during --frozen-lockfile.

Changes:

  • Add verify-yarn-lock validator and test-yarn-lock fixture tests under Extension/.scripts/.
  • Add corresponding npm scripts to run the validator and its tests.
  • Run the validator + tests in the shared compile-and-test workflow before dependency installation.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
Extension/package.json Adds test-yarn-lock / verify-yarn-lock scripts to run new validator and its tests.
Extension/.scripts/verifyYarnLock.mjs Implements selector extraction from yarn.lock and comparison against expected selectors from package.json.
Extension/.scripts/verifyYarnLock.test.mjs Adds focused fixture tests covering stale selectors and common selector forms (scoped/nested).
.github/workflows/job-compile-and-test.yml Runs new validation step before yarn install in CI.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sean-mcmanus
Sean McManus (sean-mcmanus) marked this pull request as ready for review August 11, 2026 01:31
@sean-mcmanus
Sean McManus (sean-mcmanus) requested a review from a team as a code owner August 11, 2026 01:31
Comment thread .github/workflows/job-compile-and-test.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

@sean-mcmanus
Sean McManus (sean-mcmanus) merged commit 9d19aa8 into main Aug 11, 2026
11 checks passed
@sean-mcmanus
Sean McManus (sean-mcmanus) deleted the seanmcm/devbox2-wsl/agent3/validate-yarn-lock-selectors branch August 11, 2026 19:14
@github-project-automation github-project-automation Bot moved this from Pull Request to Done in cpptools Aug 11, 2026
Sean McManus (sean-mcmanus) added a commit that referenced this pull request Aug 21, 2026
* Validate Yarn lockfile selectors (#14663)

* Fix IntelliSense translation strings. (#14668)

* Fix IntelliSense translation strings.

* Handle localization path casing generically (#14669)

* Update changelog and version for 1.33.8 (#14671)

* Fix configuration path regex escaping (#14674)

* Update inactive regions to support column granularity (#14667)

Co-authored-by: @8prashant (Prashant Kumar Rai)

* Bump the github-actions group with 2 updates (#14678)

Bumps the github-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.4 to 4.37.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@f205ea1...5595cca)

Updates `github/codeql-action/analyze` from 4.37.4 to 4.37.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@f205ea1...5595cca)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Upgrade nanoid to 3.3.18 (#14690)

* Fix SimpleCppProject test setup (#14687)

* Update IntelliSense localization strings (#14676)

* Ignore process wait test helper (#14694)

* Retry OneLocBuild dependency installation (#14697)

* Add localized warning for disabled browse database (#14683)

* Add localized browse database warning

* Clarify browse warning translator hint

---------

Co-authored-by: Colen Garoutte-Carson <49173979+Colengms@users.noreply.github.com>

* Harden Linux gdb installation (#14695)

* Fix configuration path diagnostic ranges (#14679)

* Bump the github-actions group with 2 updates (#14698)

Bumps the github-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.6 to 4.37.7
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@5595cca...ff2f1c6)

Updates `github/codeql-action/analyze` from 4.37.6 to 4.37.7
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@5595cca...ff2f1c6)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update changelog and version for 1.34.0 (#14700)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Colen Garoutte-Carson <49173979+Colengms@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants